.bin-image-preview {
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  &-mask {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(55, 55, 55, 0.6);
    height: 100%;
    z-index: 1000;
  }
  &-wrap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    user-select: none;
    overflow: hidden;
  }
  &-transition {
    transition: transform 0.3s ease;
  }
  &-image {
    cursor: grab;
  }
  &-grabbing {
    cursor: grabbing;
  }
  &-limit {
    max-width: 100%;
    max-height: 100%;
  }
  .bin-image-preview-loading,
  .bin-image-preview-fail {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .bin-image-preview-loading {
    background-color: transparent;
  }
  .bin-image-preview-fail {
    color: #fff;
    font-size: 16px;
  }
  &-hidden {
    display: none;
  }
  .bin-image-preview-operations {
    height: 40px;
    position: absolute;
    left: 50%;
    bottom: 30px;
    z-index: 1;
    border-radius: var(--bin-border-radius-default);
    overflow: hidden;
    background: rgba(55, 55, 55, 0.4);
    transform: translate(-50%);
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    > div {
      flex: 1 1 0%;
    }
    &-item {
      margin: 0 6px;
      padding: 4px 8px;
      width: 36px;
      height: 40px;
      color: #fff;
      cursor: pointer;
      transition: opacity 0.1s ease-in-out;
      &:hover {
        opacity: 0.75;
      }
    }
    &-wait {
      cursor: wait;
    }
  }
  .bin-image-preview-arrow-left,
  .bin-image-preview-arrow-right,
  .bin-image-preview-arrow-close {
    display: inline-flex;
    justify-content: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    z-index: 1;
    font-size: 18px;
    background: rgba(55, 55, 55, 0.4);
  }
  .bin-image-preview-arrow-close {
    position: absolute;
    right: 16px;
    top: 16px;
    font-size: 18px;
  }
  .bin-image-preview-arrow-left,
  .bin-image-preview-arrow-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .bin-image-preview-arrow-left {
    left: 16px;
  }
  .bin-image-preview-arrow-right {
    right: 16px;
  }
  .bin-image-preview-arrow-disabled {
    cursor: not-allowed;
    color: #c5c8ce;
  }
}
